/*
    YmsgIRC - Program enabling YMSG chat clients to use IRC
    Copyright (C) 2011 Crash Daemonicus ( crashenator -at- gmail.com )

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#define YMSG_SIGNATURE "YMSG"
#define YMSG_DELIMITER "\xC0\x80"
#define YMSG_DUMMY_CHALLENGE "k-j^l-y&2*q%(i^p%z-8%t%v-4%q-o%o-k%a-w%j-q%s-3%g-g)"
#define YMSG_DUMMY_MSGRVER   "ym9.0.0.1389"

//---Packet types--------------------------
#define YMSG_PACKET_HANDSHAKE  0x004C
#define YMSG_PACKET_CHALLENGE  0x0057
#define YMSG_PACKET_RESPONSE   0x0054
#define YMSG_PACKET_COOKIEAUTH 0x0226

#define YMSG_PACKET_BUDDYLIST  0x00F1
#define YMSG_PACKET_BUDDYSTATS 0x00F0

#define YMSG_PACKET_JOIN       0x0098
#define YMSG_PACKET_PART       0x009B
#define YMSG_PACKET_CHATSTART  0x0096
#define YMSG_PACKET_CHATEND    0x00A0
#define YMSG_PACKET_CHATTEXT   0x00A8

//---Field types-----------------------
//Items contain fields (which can contain a List)
//Lists contain Items
#define YMSG_FIELD_ITEMBEGIN 300
#define YMSG_FIELD_ITEMEND   301
#define YMSG_FIELD_LISTBEGIN 302
#define YMSG_FIELD_LISTEND   303

//---Field special values------------
#define YMSG_ITEM_BUDDYSTAT    "315"
#define YMSG_ITEM_BUDDYGROUP   "318"///< contains the name of the group and List of Buddies (List 319?)
#define YMSG_ITEM_BUDDY        "319"
#define YMSG_ITEM_IGNORE       "320"


#define YMSG_LIST_BUDDYSTATS   "315"
#define YMSG_LIST_BUDDYGROUPS  "318"///< contains multiple BuddyGroup Items
#define YMSG_LIST_BUDDIES      "319"///< contains multiple Buddy Items
#define YMSG_LIST_IGNORES      "320"

